package com.alibaba.citrus.cr.mn.order.center.facade.function.check;

import java.util.List;

/**
 * @author zhangxiaorui
 * @ClassName AbstractOrderCreateParamsCheck
 * @description: TODO
 * @date 2023/05/11 16:48
 * @version: 1.0
 */
public abstract class AbstractOrderParamsCheckService<T, R> {

    public void paramsInvalidCheck(List<T> requestList, List<R> responseList) {
        // 空值校验
        paramsNotBlankCheck(requestList, responseList);
        // 长度校验
        paramsLengthCheck(requestList, responseList);
        // 枚举校验（合法性校验）
        paramsEnumDictCheck(requestList, responseList);
    }

    public abstract void paramsNotBlankCheck(List<T> requestList, List<R> responseList);

    public abstract void paramsLengthCheck(List<T> requestList, List<R> responseList);

    public abstract void paramsEnumDictCheck(List<T> requestList, List<R> responseList);
}
